Skip to content

Move round feature enablement - #8155

Open
hardillb wants to merge 14 commits into
mainfrom
new-license-tiers
Open

Move round feature enablement#8155
hardillb wants to merge 14 commits into
mainfrom
new-license-tiers

Conversation

@hardillb

@hardillb hardillb commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

part of FlowFuse/engineering#230

Description

Adds new license tiers and enables features accordingly as laid out in FlowFuse/engineering#230.

The enterprise tier should continue to add all new features so they are covered by tests

Related Issue(s)

FlowFuse/engineering#230

Checklist

  • I have read the contribution guidelines
  • Suitable unit/system level tests have been added and they pass
  • Documentation has been updated
    • Upgrade instructions
    • Configuration details
    • Concepts
  • Changes flowforge.yml?
    • Issue/PR raised on FlowFuse/helm to update ConfigMap Template
    • Issue/PR raised on FlowFuse/CloudProject to update values for Staging/Production
  • Link to Changelog Entry PR, or note why one is not needed.

Labels

  • Includes a DB migration? -> add the area:migration label

@codecov

codecov Bot commented Aug 11, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 74.35897% with 20 lines in your changes missing coverage. Please review.
✅ Project coverage is 76.14%. Comparing base (bc556f1) to head (e37216b).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
forge/ee/routes/index.js 65.78% 13 Missing ⚠️
forge/ee/lib/index.js 84.61% 6 Missing ⚠️
forge/licensing/license-generator.js 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8155      +/-   ##
==========================================
- Coverage   76.19%   76.14%   -0.06%     
==========================================
  Files         441      441              
  Lines       23619    23655      +36     
  Branches     6289     6298       +9     
==========================================
+ Hits        17996    18011      +15     
- Misses       5623     5644      +21     
Flag Coverage Δ
backend 76.14% <74.35%> (-0.06%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@hardillb
hardillb requested review from Steve-Mcl and knolleary and removed request for Steve-Mcl August 12, 2026 12:43
@hardillb
hardillb marked this pull request as ready for review August 12, 2026 12:43
@hardillb

Copy link
Copy Markdown
Contributor Author

I had to check in a new package-lock.json to get npm ci to run in the , so something is off, but I've merged main and updated package-lock.json to match

@knolleary

Copy link
Copy Markdown
Member

Still need to double check, but with the new product tiers it is possible for a customer to buy a license for both hub and edge to unlock the full feature set. So we need to handle such license types.

I propose we allow the type to be a , separated list of tier types. This will require a slightly different approach for enabling features - a feature in hub & edge shouldn't get enabled twice because the license enables both.

I suggest we have a codified version of the tickbox table that maps feature to tiers (or tiers to features... not such which way around makes the most sense...)

const tierFeature = {
 featureName: { hub: true, edge: true, enterprise: true },
 ...
}

And then a utility function isFeatureEnabledForTier(string) => boolean - which either handles the comma array of tier types, or gets called multiple times and the result aggregated by the caller.

@hardillb

Copy link
Copy Markdown
Contributor Author

Can't that just be the enterprise license that we need to keep to ensure we test everything?

There is also the stuff about maybe including the cert nodes tokens in the license and the new feature listed about access to different BluePrint libraries (that we have not done any planing/design for yet)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants